package com.solarStruggle.domain.stats

import com.solarStruggle.domain.{Shield => ShieldBase}

class EnergyShield1Stats
extends Shield {
	def energyDef = 5
	def researchCost = 0
	def energy = 5
	def description = ""
	def cost = 1000
	def name = "Energy Shield I"
	def physicalDef = 1
	def mass = 0
}

object EnergyShield1 extends ShardFactory {
	override def apply() = new EnergyShield1Stats()

	override lazy val singleton = new EnergyShield1Stats()
}

class EnergyShield2Stats
extends Shield {
	def energyDef = 7
	def researchCost = 2
	def energy = 5
	def description = ""
	def cost = 1500
	def name = "Energy Shield II"
	def physicalDef = 2
	def mass = 0
}

object EnergyShield2 extends ShardFactory {
	override def apply() = new EnergyShield2Stats()

	override lazy val singleton = new EnergyShield2Stats()
}

class EnergyShield3Stats
extends Shield {
	def energyDef = 10
	def researchCost = 5
	def energy = 4
	def description = ""
	def cost = 2000
	def name = "Energy Shield III"
	def physicalDef = 2
	def mass = 0
}

object EnergyShield3 extends ShardFactory {
	override def apply() = new EnergyShield3Stats()

	override lazy val singleton = new EnergyShield3Stats()
}

class PhysicalShield1Stats
extends Shield {
	def energyDef = 1
	def researchCost = 0
	def energy = 7
	def description = ""
	def cost = 1000
	def name = "Physical Shield I"
	def physicalDef = 6
	def mass = 3
}

object PhysicalShield1 extends ShardFactory {
	override def apply() = new PhysicalShield1Stats()

	override lazy val singleton = new PhysicalShield1Stats()
}

class PhysicalShield2Stats
extends Shield {
	def energyDef = 2
	def researchCost = 2
	def energy = 7
	def description = ""
	def cost = 1500
	def name = "Physical Shield II"
	def physicalDef = 8
	def mass = 3
}

object PhysicalShield2 extends ShardFactory {
	override def apply() = new PhysicalShield2Stats()

	override lazy val singleton = new PhysicalShield2Stats()
}

class PhysicalShield3Stats
extends Shield {
	def energyDef = 3
	def researchCost = 5
	def energy = 6
	def description = ""
	def cost = 2000
	def name = "Physical Shield III"
	def physicalDef = 10
	def mass = 3
}

object PhysicalShield3 extends ShardFactory {
	override def apply() = new PhysicalShield3Stats()

	override lazy val singleton = new PhysicalShield3Stats()
}

class StealthShield1Stats
extends Shield {
	def energyDef = 1
	def researchCost = 0
	def energy = 10
	def description = ""
	def cost = 2000
	def name = "Stealth Shield I"
	def physicalDef = 1
	def mass = 5
}

object StealthShield1 extends ShardFactory {
	override def apply() = new StealthShield1Stats()

	override lazy val singleton = new StealthShield1Stats()
}

class StealthShield2Stats
extends Shield {
	def energyDef = 2
	def researchCost = 2
	def energy = 6
	def description = ""
	def cost = 3000
	def name = "Stealth Shield I"
	def physicalDef = 1
	def mass = 5
}

object StealthShield2 extends ShardFactory {
	override def apply() = new StealthShield2Stats()

	override lazy val singleton = new StealthShield2Stats()
}

class StealthShield3Stats
extends Shield {
	def energyDef = 3
	def researchCost = 5
	def energy = 4
	def description = ""
	def cost = 4000
	def name = "Stealth Shield I"
	def physicalDef = 2
	def mass = 5
}

object StealthShield3 extends ShardFactory {
	override def apply() = new StealthShield3Stats()

	override lazy val singleton = new StealthShield3Stats()
}

